Recommending responses to emergent conditions

ABSTRACT

A method for recommending responses to emergent conditions is provided. The present invention may include receiving a query from a user. The present invention may also include retrieving a plurality of recommended responses for the received query from a plurality of entities and a plurality of relations stored in a graph-based knowledge resource. The present invention may further include presenting the retrieved plurality of recommended responses to the user.

BACKGROUND

The present invention relates generally to the field of computing, andmore particularly to cognitive computing.

Recommendations generally involve some element of judgment. For humans,making a recommendation is a reasonably straightforward process. Forcomputers, however, generating recommendations involves a second step,such as a possible optimization of a function, or a system of metricsthat enables the computer to select one option over another. Forexample, statistical engines may select a set of parameters byminimizing the sum of squared residuals or maximizing the likelihood ofa function, and recommendation engines may utilize information on auser's past behavior on a website to propose a widget or particularmovie. In the absence of that second step, computers may be unable tocompete with human subjects.

SUMMARY

Embodiments of the present invention disclose a method for recommendingresponses to emergent conditions. The present invention may includereceiving a query from a user. The present invention may also includeretrieving a plurality of recommended responses for the received queryfrom a plurality of entities and a plurality of relations stored in agraph-based knowledge resource. The present invention may furtherinclude presenting the retrieved plurality of recommended responses tothe user.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

These and other objects, features and advantages of the presentinvention will become apparent from the following detailed descriptionof illustrative embodiments thereof, which is to be read in connectionwith the accompanying drawings. The various features of the drawings arenot to scale as the illustrations are for clarity in facilitating oneskilled in the art in understanding the invention in conjunction withthe detailed description. In the drawings:

FIG. 1 illustrates a networked computer environment according to atleast one embodiment;

FIG. 2 is an operational flowchart illustrating a process for building agraph-based knowledge resource according to at least one embodiment;

FIG. 3 is an operational flowchart illustrating a process forrecommending responses to emergent conditions according to at least oneembodiment;

FIG. 4 is an operational flowchart illustrating an exemplary graphrelated to the storage of extracted entities and relations in agraph-based knowledge resource according to at least one embodiment;

FIG. 5 is an operational flowchart illustrating an exemplaryunpressurized aircraft graph stored in the graph-based knowledgeresource according to at least one embodiment;

FIG. 6 is an operational flowchart illustrating an exemplary detailedunpressurized aircraft graph stored in the graph-based knowledgeresource according to at least one embodiment;

FIG. 7 is a block diagram of internal and external components ofcomputers and servers depicted in FIG. 1 according to at least oneembodiment;

FIG. 8 is a block diagram of an illustrative cloud computing environmentincluding the computer system depicted in FIG. 1, in accordance with anembodiment of the present disclosure; and

FIG. 9 is a block diagram of functional layers of the illustrative cloudcomputing environment of FIG. 8, in accordance with an embodiment of thepresent disclosure.

DETAILED DESCRIPTION

Detailed embodiments of the claimed structures and methods are disclosedherein; however, it can be understood that the disclosed embodiments aremerely illustrative of the claimed structures and methods that may beembodied in various forms. This invention may, however, be embodied inmany different forms and should not be construed as limited to theexemplary embodiments set forth herein. Rather, these exemplaryembodiments are provided so that this disclosure will be thorough andcomplete and will fully convey the scope of this invention to thoseskilled in the art. In the description, details of well-known featuresand techniques may be omitted to avoid unnecessarily obscuring thepresented embodiments.

The present invention may be a system, a method, and/or a computerprogram product at any possible technical detail level of integration.The computer program product may include a computer readable storagemedium (or media) having computer readable program instructions thereonfor causing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, configuration data for integrated circuitry, oreither source code or object code written in any combination of one ormore programming languages, including an object oriented programminglanguage such as Smalltalk, C++, or the like, and procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The computer readable program instructions may executeentirely on the user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the user'scomputer through any type of network, including a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider). In some embodiments, electronic circuitry including,for example, programmable logic circuitry, field-programmable gatearrays (FPGA), or programmable logic arrays (PLA) may execute thecomputer readable program instructions by utilizing state information ofthe computer readable program instructions to personalize the electroniccircuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the blocks may occur out of theorder noted in the Figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The following described exemplary embodiments provide a method forrecommending responses to emergent conditions using a functional andcausal graph-based knowledge resource. As such, the present embodimenthas the capacity to improve the technical field of cognitive computingby recommending responses to emergent conditions using a function andcausal graph-based knowledge resource. More specifically, the presentembodiment may utilize a set of statistical methods to extract problemsand the associated set of recommendations from technical documents, andstore the problems with the associated recommendations for use inresponse to a search query for an emergent condition.

As described previously, recommendations generally involve some elementof judgment. For humans, making a recommendation is a reasonablystraightforward process. For computers, however, generatingrecommendations involves a second step, such as a possible optimizationof a function, or a system of metrics that enables the computer toselect one option over another. For example, statistical engines mayselect a set of parameters by minimizing the sum of squared residuals ormaximizing the likelihood of a function, and recommendation engines mayutilize information on a user's past behavior on a website to propose awidget or particular movie. In the absence of that second step,computers may be unable to compete with human subjects.

The process of generating recommendations becomes more complex when thetarget of the recommendation is a particular course of action inresponse to an evolving circumstance. To ask a computer to choose aparticular remedy or recommended response involves a mechanism toevaluate one against the other, such as, a system of metrics to rank theorder of the possible actions. Technical documents, however, includeboth a set of problems and the associated set of recommendations, whichwere produced by human experts and arranged to facilitate learning of acomplex system.

Therefore, it may be advantageous to, among other things, provide amethod, computer system or computer program product for extracting theproblems and associated recommendations from rich technical literatureto automatically provide a user with immediate actionable recommendedresponses to an emerging problem.

According to at least one embodiment, the graph-based knowledgerecommendation program may include extracting entity and relationshipinformation directly from technical documents and representing theinformation in the form of a graph. The information may identifyremedies for encoded problems when the graph is built. By traversing thegraph, recommended responses, based on the information presented to theproblem, may be obtained.

The present embodiment may include the graph-based knowledgerecommendation program inferring about the cause and remedy of a problemwithout human intervention to draw connections. Therefore, thegraph-based knowledge recommendation program may operate in the absenceof a rules-based response to a problem and dependence on a complexsystem of metrics that may be optimized over a choice set.

According to at least one embodiment, the application of graphtechnology may leverage information and provide a quick and reliablemechanism for the graph-based knowledge recommendation program to selectthe most likely path from the query through the graph to connect thesymptom to both a root cause and an appropriate remedy. Additionally,summarizing the information extracted from the technical documents in agraphical model may allow for diverse data sources to feed the overallsolution-finding mechanism. According to at least another embodiment,the graph may support root cause analysis of a problem since symptomsand remedies may unite associated systems.

According to at least another embodiment, the graph-based knowledgerecommendation program may extract entities (i.e., nodes) and relations(i.e., edges or connections between the nodes) that characterize thecausal and functional relations among the systems indicated in thetechnical and instructional documents. A set of entities and relationsmay include system component entities (i.e., system components),functional relationships among system components, system componententity states (i.e., system component states), the state of relationbetween components and their states, the part of relationship betweencomponents and subcomponents, causal relationships among these states,actions, remediating relationships between actions and system componententity states, and the contextual states that mediate these relations.Therefore, the graph-based knowledge recommendation program may involveutilizing established natural language processing methods to extractthese entities and relations from textual descriptions. In addition,other similar methods may be utilized to extract information fromtechnical drawings and diagrams.

According to at least one embodiment, in order to generate therecommended responses, the graph-based knowledge recommendation programis fundamentally designed to retrieve information from a very largecorpus of unstructured text by utilizing known sophisticated naturallanguage processing methods. The solution may include focusing attentionon the beginning of the process. As such, instead of searching thecorpus and evaluating a set of potential remedies against a set ofoptions found in passages in which another unidentified system ofmetrics may be involved, the graph-based knowledge recommendationprogram may utilize the relationships extracted at the time of ingestionfor the solution.

According to at least one embodiment, the information utilized toassociate problems and solutions may exist within technical literature.The recommended responses generated from the technical literature may bederived from pre-existing knowledge or human expertise, without amachine learning model to rank the possible solutions at run time. Nofault trees or prior analysis (e.g., safety studies or accident reports)may be utilized to generate the recommended responses. Therefore, thegraph-based knowledge recommendation program may incorporate deepknowledge from technical literature to lay out the connections betweencauses and context related to complex systems about causes from context.The graph-based knowledge recommendation program may not be dependent onextracting an analysis from a previous event and after the fact reports.Additionally, the graph-based knowledge recommendation program may beutilized as a decision aid that generates advice in near real time tousers experiencing an emergent condition.

According to at least one embodiment, the entities and relations fromthe corpus of unstructured text may be extracted by known extractiontechnology. The output of the extraction technology (i.e., entities andrelations) may be utilized to determine the causes and effects of theproblem presented, as well as the appropriate remedy. The extractedentities and relations may be mapped into a knowledge graph, where thenodes are the entities and the edges or links are the relations.

According to at least one embodiment, the technical and instructionaldocuments describe complex systems, for example a commercial aircraft,and describe the relationships between symptoms and responses in thesesystems. The graph-based knowledge recommendation program may leveragethis information and may involve two major sub-methods: (1) a textinterpretation sub-method for building an appropriate graph-basedknowledge resource for storing information related to functional andcausal relations which were derived from documents; and (2) agraph-based knowledge resource query sub-method for querying thegraph-based knowledge resource and identifying root causes andrecommended responses.

The present embodiment may include a first sub-method of the graph-basedknowledge recommendation program which involves building the graph-basedknowledge resource from a corpus of technical documents. Initially, thegraph-based knowledge recommendation program may parse through a corpusof natural language technical documents describing and related to asingle complex system within a domain to extract entities andrelationships, which may include system components, system componentstates, actions, contextual factors, and causal and functional relationsamong the documents. Next, the identified entities and relationshipswithin the corpus of technical documents may be extracted. Then, agraphical representation (i.e., knowledge graph) of the causal andfunctional relations may be generated based on the extracted entitiesand relationships to represent the causal and function structure of thecomplex system described in the technical documents. The graphicalrepresentation (i.e., knowledge graph) may be stored in the graph-basedknowledge resource.

The present embodiment may also include a second sub-method of thegraph-based knowledge recommendation program which involves querying thegraph-based knowledge resource and identifying root causes and remedialactions. Initially, the previously built graph-based knowledge resourcemay be queried by the user to solve a particular problem. Then, thegraph-based knowledge recommendation program may determine whether thegraph-based knowledge resource may produce more than one recommendedresponse and, identifying through reverse graph traversal, whetheradditional relevant symptoms may be dispositive. The user may beprompted to provide additional relevant symptoms present during theemergent condition. Based on whether the user provides the additionalrelevant symptoms, the graph-based knowledge recommendation program mayevaluate the recommended responses and attempt to eliminate all exceptone recommended response from the graph-based knowledge resource. Thegraph-based knowledge recommendation program may return the identifiedrecommended responses, or otherwise may return no recommended responses.

According to at least one embodiment, the graph traversal may proceed,by passing through functional and causal relations and a remediatingrelation, beginning with the query nodes that represent the symptoms,which are a set N of system component state nodes in the graph-basedknowledge resource and contextual factors. Then, the graph-basedknowledge recommendation program may assemble the set A of action nodesthat are related by a remedial relation between one of the systemcomponent states in N, which are consistent with the contextual factors.If A is non-empty, then the traversal may end and return set A ofrecommended responses, or otherwise, may continue the traversal. Then,for each node n in N, each causal or functional linking relation edge,representing the relationship between the entities from n, may betraversed to a causing system component state or the system or thesystem component of the state if n is a system component state, or afunctionally related or containing system component or a related systemcomponent state if n is a system component. As such, calling the set ofnodes N′, if N′ is not empty, the graph traversal may continue in orderto assemble the set A of action nodes with N′ as N.

The present embodiment may include a complex traversal mechanism thatincorporates weighting the nodes to continue the traversal with eachcausal or functional linking relation edge. One weighting scheme mayinclude counting the number of paths through a given node, weighing thenode by that count, and then continuing the traversal only with the mosthighly weighted node. Other weighting schemes may make use of connectionstrength annotations on the edges derived from the extraction process.

According to at least one embodiment, the graph-based knowledgerecommendation program may utilize the relationship data in thegraph-based knowledge resource to make inferences about the cause andderive inferences from the original technical literature describing thecausal and function structures of a complex system. The causal chainreasoning may be based on system functional relations in which therecommended responses for corrective action are based on the extractionof information on the relations among complex systems and not onlyrelations among the described events.

The present embodiment may include identifying the likely causal paththrough the graph-based knowledge resource from the observed systemstate to root case. According to at least one embodiment, since thegraph-based knowledge recommendation program has a fundamental grasp ofthe complex system based on the technical documents, the graph-basedknowledge recommendation program may react and incorporate additionalinformation to resolve ambiguities in determining the appropriaterecommended response.

Referring to FIG. 1, an exemplary networked computer environment 100 inaccordance with one embodiment is depicted. The networked computerenvironment 100 may include a computer 102 with a processor 104 and adata storage device 106 that is enabled to run a software program 108and a graph-based knowledge recommendation program 110 a. The networkedcomputer environment 100 may also include a server 112 that is enabledto run a graph-based knowledge recommendation program 110 b that mayinteract with a database 114 and a communication network 116. Thenetworked computer environment 100 may include a plurality of computers102 and servers 112, only one of which is shown. The communicationnetwork 116 may include various types of communication networks, such asa wide area network (WAN), local area network (LAN), a telecommunicationnetwork, a wireless network, a public switched network and/or asatellite network. It should be appreciated that FIG. 1 provides only anillustration of one implementation and does not imply any limitationswith regard to the environments in which different embodiments may beimplemented. Many modifications to the depicted environments may be madebased on design and implementation requirements.

The client computer 102 may communicate with the server computer 112 viathe communications network 116. The communications network 116 mayinclude connections, such as wire, wireless communication links, orfiber optic cables. As will be discussed with reference to FIG. 7,server computer 112 may include internal components 902 a and externalcomponents 904 a, respectively, and client computer 102 may includeinternal components 902 b and external components 904 b, respectively.Server computer 112 may also operate in a cloud computing service model,such as Software as a Service (SaaS), Platform as a Service (PaaS), orInfrastructure as a Service (IaaS). Server 112 may also be located in acloud computing deployment model, such as a private cloud, communitycloud, public cloud, or hybrid cloud. Client computer 102 may be, forexample, a mobile device, a telephone, a personal digital assistant, anetbook, a laptop computer, a tablet computer, a desktop computer, orany type of computing devices capable of running a program, accessing anetwork, and accessing a database 114. According to variousimplementations of the present embodiment, the graph-based knowledgerecommendation program 110 a, 110 b may interact with a database 114that may be embedded in various storage devices, such as, but notlimited to a computer/mobile device 102, a networked server 112, or acloud storage service.

According to the present embodiment, a user using a client computer 102or a server computer 112 may use the graph-based knowledgerecommendation program 110 a, 110 b (respectively) to recommendresponses to emergent conditions. The graph-based knowledgerecommendation method is explained in more detail below with respect toFIGS. 2-6.

Referring now to FIG. 2, an operational flowchart illustrating theexemplary graph-based knowledge resource building process 200 used bythe graph-based knowledge recommendation program 110 a and 110 baccording to at least one embodiment is depicted.

At 202, a corpus of documents is received. Documents, such as naturallanguage technical documents (e.g., manuals, publications andbrochures), instructional documents (e.g., manuals, publications andbrochures), and technical drawings and diagrams describing and relatedto a single complex system within a domain, may be utilized to build thegraph-based knowledge resource. The documents may be ingested in thegraph-based knowledge recommendation program 110 a, 110 b by an operatormanually compiling a large set of documents related to a complex systemand uploading each bunch of documents into the graph-based knowledgerecommendation program 110 a, 110 b. The manual compilation may allowfor the operator to review each document and, if applicable, convert rawfiles into a particular format prior to the ingestion of the documentinto the graph-based knowledge recommendation program 110 a, 110 b. Eachobserved symptom of a problem in a complex system has many possiblesources and causes, which along with potential remedies, may beidentified in documents describing the solutions. As such, the documentsmay be entered into the graph-based knowledge recommendation program 110a, 110 b to extract entities and relations expressed in naturallanguage.

For example, the natural language source manuals, product handbooks,instruction manuals, scientific publications and product specificationsrelated to classic 1960 s automobiles are manually compiled, and thenuploaded into the graph-based knowledge recommendation program 110 a,110 b.

Next, at 204, the entities and relations are extracted from the corpusof documents, and the extracted entities and relations are utilized togenerate a graph-based knowledge resource 206. The graph-based knowledgerecommendation program 110 a, 110 b may parse through each sentence orfigure included in the corpus of documents to identify systemcomponents, actions, and causal and functional relations (i.e., entitiesand relations) to enable inferences about the function of the complexsystem and possible recommended responses (i.e., actions/remedy) forproblems related with the complex system. The graph-based knowledgerecommendation program 110 a, 110 b may extract the identified entitiesand relations by utilizing a known external extraction technology thatmay implement known natural language processing methods. Once theentities and relations are identified and extracted from the corpus ofdocuments, the graph-based knowledge recommendation program 110 a, 110 bmay generate a graph-based knowledge resource 206 representing thenetwork of relations among the entities that are included in the complexsystem using nodes and directed edges. The graph-based knowledgeresource 206 summarizes the described or illustrated causal relationsamong the state of the components of the complex system, the describedfunctional relations among system components, as well as recommendedrelations among the system component state, remedial actions (i.e.,recommended responses) and contextual factors related to the complexsystem. As such, the graph-based knowledge resource 206 may storeinformation related to the causal and functional relations associatedwith the complex system, which were derived from the corpus ofdocuments. The storage of extracted entities and relations in thegraph-based knowledge resource 206 will be described in greater detailbelow with respect to FIG. 4.

Continuing the previous example, the graph-based knowledgerecommendation program 110 a, 110 b parses through each sentence of theentered natural language source manuals, product handbooks, instructionmanuals, scientific publications and product specifications. From theentered documents, the graph-based knowledge recommendation program 110a, 110 b extracts entities and relations that characterize the causaland functional relations of the complex system, as well as recommendedrelations, remedial actions (i.e., recommended responses) and contextualfactors that influence how each of the entities affect each other. Eachof the extracted entities and relations are analyzed and utilized togenerate a graph-based knowledge resource 206 in which the entities andthe relations between each entity are illustrated in a graphicalrepresentation (i.e., knowledge graph). The graphical representations(i.e., knowledge graphs) are stored in the graph-based knowledgeresource 206 for retrieval when a user enters a query for a problem orsymptoms of problems related to the classic 1960 s automobiles.

Referring now to FIG. 3, an operational flowchart illustrating theexemplary process for recommending responses to emergent conditions 300used by the graph-based knowledge recommendation program 110 a and 110 baccording to at least one embodiment is depicted.

At 302, the graph-based knowledge recommendation program 110 a, 110 breceives a query from a user. Using a software program 108 on the user'sdevice (e.g., user's computer 102), the query may be received as aninput into the graph-based knowledge recommendation program 110 a, 110b. The query may include the user identifying problems or symptoms ofthe problems, which corresponds with a set of query nodes of the systemcomponents in the graph-based knowledge resource 206. For example, anaircraft's pitot or static system failure can cause erratic andunreliable air speed indications. When a static system problem occurs,it affects the airspeed indicator, altimeter, and vertical speedindicator (VSI). In the absence of an alternate static source in anunpressurized aircraft, the pilot could break the glass on the VSIbecause the glass does not affect instrument flight. Breaking the glassprovides both the altimeter and airspeed indicator, which are sources ofstatic pressure. The pilot, however, may be cautious since breaking theglass may cause additional instrument errors. The following table is alist of identified relations:

System Component: Pitot system, Static system, Airspeed Indicator,Instrumentation system System Component State: Pitot system failure,static system failure, Unreliable airspeed indicator State-of: Pitotsystem failure is a state of the pitot system, etc. Part-of: airspeedindicator is part of the instrumentation system Causal Relation: Pitotsystem failure cause unreliable airspeed indicator Functional Relation:Static system functionally connected to airspeed indicator Context:Unpressurized aircraft Action: breaking glass on VSI Remedial relation:breaking glass on VSI remediates static system failure in contextunpressurized aircraft

Continuing the example, the pilot enters into the graph-based knowledgerecommendation program 110 a, 110 b a query on the rudder limit failurenode, one of the symptoms of the problem, in the pressurized aircraft.

Next, at 304, the graph-based knowledge recommendation program 110 a,110 b retrieves recommended responses. The received query may be enteredinto the graph-based knowledge resource 206 to retrieve as output atleast one recommended response to the received query. Since thegraph-based knowledge resource 206 may store a network of relationsamong the entities that makes up the complex system using nodes anddirected edges, the graph-based knowledge resource 206 may include therecommended responses for the query as derived from the corpus oftechnical documents entered into the graph-based knowledgerecommendation program 110 a, 110 b. Then, the graph-based knowledgerecommendation program 110 a, 110 b may, using the query nodes as theorigin of a graph traversal, traverse the causal and functional links ofthe graph-based knowledge resource 206 until a set of recommendedresponses are retrieved.

Continuing the previous example, the graph-based knowledgerecommendation program 110 a, 110 b will trace through the graph-basedknowledge resource 206 through the unreliable airspeed node to thestatic system failure node and consider the break glass on VSI remedy.An exemplary graph of the storage of extracted entities and relations inthe graph-based knowledge resource 206 will be described in greaterdetail below with respect to FIG. 5.

However, the source manuals uploaded into the graph-based knowledgerecommendation program 110 a, 110 b included additional information,such as the fact that the main cause of inaccurate airspeed indicationis icing of the pitot tubes in the pitot system. The inaccurate airspeedmay also impact performance of downstream systems like autopilot orlimits on the range of rudder movement. A detailed exemplary graph ofthe storage of extracted entities and relations in the graph-basedknowledge resource 206 will be described in greater detail below withrespect to FIG. 6.

Continuing the example, since the unpressurized aircraft requirementsare not met, the graph-based knowledge recommendation program 110 a, 110b discards this remedy. As will be shown in FIG. 6, further tracing fromthe unreliable airspeed to the pitot system failure to the icing ofpitot tubes results to the recommended remedy of heating the pitot tubes(i.e., Heat Tubes). In addition, the rudder limit failure is a state ofthe rudder limit system that is functionally related to the hydraulicsystem and hydraulic pressure loss, a state of the hydraulic system, isremediated by re-pressurizing the hydraulics. Therefore, the graph-basedknowledge recommendation program 110 a, 110 b retrieves two recommendedresponses to the query.

At 306, the graph-based knowledge recommendation program 110 a, 110 bdetermines whether the graph-based knowledge resource 206 provided onerecommended response or multiple recommended responses. The graph-basedknowledge recommendation program 110 a, 110 b may retrieve at least onerecommended response from the graph-based knowledge resource 206.Depending on whether the graph-based knowledge recommendation program110 a, 110 b retrieves multiple recommended responses, the graph-basedknowledge recommendation program 110 a, 110 b may prompt the user toprovide additional relevant symptoms at 308, or present the recommendedresponse to the user at 310.

If the graph-based knowledge recommendation program 110 a, 110 bdetermines that there are multiple recommended responses to the receivedquery at 306, then the graph-based knowledge recommendation program 110a, 110 b will determine if there are specific additional relevantsymptoms to the problem present at 308. The graph-based knowledgerecommendation program 110 a, 110 b may prompt such additional relevantsymptoms from the user (e.g., via dialog box) on the screen. The dialogbox may prompt the user as to whether a specific additional relevantsymptom previously excluded from the received query is present. Underthe prompt, there may be “Yes” and “No” buttons. If the user clicks the“Yes” button, then the dialog box may disappear, or the graph-basedknowledge recommendation program 110 a, 110 b may continue to prompt theuser as to whether another additional relevant symptom may be present.If the user clicks the “No” button, then the dialog box may disappear,or the graph-based knowledge recommendation program 110 a, 110 b maycontinue to prompt the user as to whether another additional relevantsymptom may be present.

Continuing the previous example, since the graph-based knowledgerecommendation program 110 a, 110 b retrieved two recommended responses(i.e., heating the pitot tubes and re-pressurizing the hydraulics) thegraph-based knowledge recommendation program 110 a, 110 b prompts thepilot for additional relevant symptoms. A dialog box appears on thescreen and prompts the pilot on whether the autopilot disengage stateremains the same. The pilot proceeds to click “Yes.” The dialog box,then, disappears.

If the graph-based knowledge recommendation program 110 a, 110 bdetermines that the user provides additional relevant symptoms at 308,then the graph-based knowledge recommendation program 110 a, 110 b mayreturn to retrieve recommended responses at 304. The graph-basedknowledge recommendation program 110 a, 110 b may traverse thegraph-based knowledge resource 206 to determine whether the additionalrelevant symptoms may eliminate some of the multiple recommendedresponses. The additional relevant symptoms may provide additionalinformation to determine the specific recommended response to solve thequery presented from the multiple recommended responses generated by thegraph-based knowledge resource 206.

Continuing the previous example, since the pilot provided the additionalrelevant symptom of the autopilot disengage, then the graph-basedknowledge recommendation program 110 a, 110 b returns to retrieverecommended responses at 304. The graph-based knowledge recommendationprogram 110 a, 110 b searches the graph-based knowledge resource 206 toeliminate one of the two recommended responses to present to the pilotin response to the received query. Based on the information included inthe graph-based knowledge resource 206, the graph-based knowledgerecommendation program 110 a, 110 b narrows down the recommendedresponses to heating the pitot tubes, and eliminates re-pressurizing thehydraulics. Therefore, the graph-based knowledge recommendation program110 a, 110 b presents the recommended response of heating the pitottubes to the received query by the pilot at 310.

If, however, the graph-based knowledge recommendation program 110 a, 110b determines that one recommended response was retrieved at 306, thereare no additional relevant symptoms at 308, or the additional relevantsymptoms presented at 308 were not dispositive, then the graph-basedknowledge recommendation program 110 a, 110 b will present therecommended response at 310.

Without the user providing dispositive additional relevant symptoms at308, the graph-based knowledge recommendation program 110 a, 110 b maybe unable to determine the specific recommended response. Therefore, thegraph-based knowledge recommendation program 110 a, 110 b may presentthe multiple recommended responses previously generated for the user todetermine the corrective action that may solve the query presented.

Continuing the previous example, if the pilot clicked “No” in responseto the question regarding whether the autopilot remains the same and thegraph-based knowledge recommendation program 110 a, 110 b was unable toprovide any dispositive additional relevant symptoms to the user, thenthe graph-based knowledge recommendation program 110 a, 110 b willpresent both recommended responses (i.e., heating the pitot tubes andre-pressurizing the hydraulics) to the user.

If only one recommended response to the received query at 306, then, at310, the graph-based knowledge recommendation program 110 a, 110 b willpresent the recommended response retrieved from the graph-basedknowledge resource 206 to the user. The presented recommended responsemay include a corrective action to solve the problem in the complexsystem based on the query received by the user. Continuing the previousexample, if the graph-based knowledge recommendation program 110 a, 110b retrieved only one recommended response to the rudder limit failure inthe pressurized aircraft, then the one recommended response would havebeen presented to the user.

In another embodiment, the graph-based knowledge recommendation program110 a, 110 b may prompt the user to determine if additional relevantsymptoms may be present at 308 in which the graph-based knowledgerecommendation program 110 a, 110 b may prompt the user (e.g., viadialog box) as to whether there are additional relevant symptomspreviously excluded from the received query. Under the prompt, there maybe “Yes” and “No” buttons. If the user clicks the “Yes” button, then thedialog box may expand for the user to include a brief explanation of theadditional relevant symptoms. Once the user includes the briefexplanation of the additional relevant symptoms, then the user may clickthe “Submit” button at the bottom of the dialog box. Then, the dialogbox may disappear. If the user clicks the “No” button, then the dialogbox may disappear.

In another embodiment, the graph-based knowledge recommendation program110 a, 110 b may include an “Additional Symptoms” button at the bottomof the screen. The “Additional Symptoms” button may permit the user toenter additional relevant symptoms into the graph-based knowledgerecommendation program 110 a, 110 b, even if the graph-based knowledgerecommendation program 110 a, 110 b has yet to prompt the user withdirected questions on additional relevant symptoms.

In another embodiment, if the graph-based knowledge recommendationprogram 110 a, 110 b retrieves no recommended responses at 304, then thegraph-based knowledge recommendation program 110 a, 110 b may present tothe user that there are no recommended responses, at 310, for thereceived query. The user may modify the query and may return to 302 toenter a new query into the graph-based knowledge recommendation program110 a, 110 b.

Referring now to FIG. 4, an exemplary graph 400 illustrating the storageof extracted causal and functional relations in the graph-basedknowledge resource 206 is depicted. As shown, the nodes are theextracted system component states, system components or related systems,and the edges or links (i.e., connections between the nodes) are therelations between the nodes. System component state one 402A, systemcomponent state two 402B, and system component state three 402C are thesymptoms entered as input into the graph-based knowledge recommendationprogram 110 a, 110 b by the user. Each of the system components states402A-402C are causally connected (i.e., based on a cause and effectrelationship) in which the system component state one 402A may be thecause and the effect may be system component state two 402B, and theeffect of system component state two 402B may be system component statethree 402C. The system component one and two at 404A-404B are the partsof the system directly associated with the entered symptoms at402A-402C. The system component one and two 404A-404B are functionallyconnected in which the functions of the system components at 404A-404Bare directly related and affected by each other. Both system components404A-404B are related to a system 406. If the system component statesare present, based on the system components and associated system, thenthe action/remedy 408 may resolve the problem related to context 410presented.

Referring now to FIG. 5, an exemplary representation illustrating thestorage of information in the graph-based knowledge resource 206 for anunpressurized aircraft graph 500 associated with FIG. 3 is depicted. Thesymptoms of the aircraft-related problem (i.e., system component state)are static system failure 502A and unreliable airspeed 502B (i.e.,unreliable airspeed indicator). The unreliable airspeed 502B may becaused by a failure of the pitot system failure 504, which is a state ofthe pitot system 506. Additionally, the unreliable speed 502B is a stateof the airspeed indicator 508, which is a part of the instrumentationsystem 510. If both symptoms, static system failure 502A and unreliableairspeed 502B, are present, based on the relations between therespective systems, the appropriate remedy is to break the glass on thevertical speed indicator (VSI) 512 to resolve the problem in the contextof an unpressurized aircraft 514.

Referring now to FIG. 6, an exemplary representation illustrating thestorage of information in the graph-based knowledge resource 206 for adetailed unpressurized aircraft graph 600 associated with FIG. 3 isdepicted. In addition to the system component states, systems and remedypresented in FIG. 5, FIG. 6 presents additional system component states,system components, systems and remedies to resolve the same problembased on the same symptoms (i.e., system component states) presented bythe user. The unreliable airspeed 502B may be caused by the autopilotdisengage 602, which is a state of the autopilot system 604. Inaddition, the pitot system failure 504 may be caused by debris blockingthe pitot tubes 606 or icing of the pitot tubes 608 in which heating thepitot tubes 610 remediates the symptom of icing of the pitot tubes 608.Another cause of the unreliable airspeed 502B may be a rudder limitfailure 612, which is a state of the rudder limit system 614. The rudderlimit system 614 is functionally connected to the hydraulic system 616,which is a state of hydraulic pressure loss 618. If the additionalsymptom (i.e., system component states) of hydraulic pressure loss 618is present, then re-pressurizing the hydraulics 620 may remediate theproblem in the context of an unpressurized aircraft 514.

In the present embodiment, the system components (i.e., symptoms),system component states, relations (e.g., causal or functional), andsystems, generated from the extracted entities and relations that areutilized to populate the knowledge graphs stored in the graph-basedknowledge resource 206, may be leveraged to determine the recommendedresponses for emergent conditions.

It may be appreciated that FIGS. 2-6 provide only an illustration of oneembodiment and do not imply any limitations with regard to how differentembodiments may be implemented. Many modifications to the depictedembodiment(s) may be made based on design and implementationrequirements. Similarly, the graph-based knowledge recommendationprogram 110 a, 110 b may not be limited to the field of aviation, whichhas been chosen as an illustration. In fact, the graph-based knowledgerecommendation program 110 a, 110 b may be applied to any complextechnical system.

FIG. 7 is a block diagram 900 of internal and external components ofcomputers depicted in FIG. 1 in accordance with an illustrativeembodiment of the present invention. It should be appreciated that FIG.7 provides only an illustration of one implementation and does not implyany limitations with regard to the environments in which differentembodiments may be implemented. Many modifications to the depictedenvironments may be made based on design and implementationrequirements.

Data processing system 902, 904 is representative of any electronicdevice capable of executing machine-readable program instructions. Dataprocessing system 902, 904 may be representative of a smart phone, acomputer system, PDA, or other electronic devices. Examples of computingsystems, environments, and/or configurations that may represented bydata processing system 902, 904 include, but are not limited to,personal computer systems, server computer systems, thin clients, thickclients, hand-held or laptop devices, multiprocessor systems,microprocessor-based systems, network PCs, minicomputer systems, anddistributed cloud computing environments that include any of the abovesystems or devices.

User client computer 102 and network server 112 may include respectivesets of internal components 902 a, b and external components 904 a, billustrated in FIG. 7. Each of the sets of internal components 902 a, bincludes one or more processors 906, one or more computer-readable RAMs908, and one or more computer-readable ROMs 910 on one or more buses912, and one or more operating systems 914 and one or morecomputer-readable tangible storage devices 916. The one or moreoperating systems 914, the software program 108 and the graph-basedknowledge recommendation program 110 a in client computer 102, and thegraph-based knowledge recommendation program 110 b in network server112, may be stored on one or more computer-readable tangible storagedevices 916 for execution by one or more processors 906 via one or moreRAMs 908 (which typically include cache memory). In the embodimentillustrated in FIG. 7, each of the computer-readable tangible storagedevices 916 is a magnetic disk storage device of an internal hard drive.Alternatively, each of the computer-readable tangible storage devices916 is a semiconductor storage device such as ROM 910, EPROM, flashmemory or any other computer-readable tangible storage device that canstore a computer program and digital information.

Each set of internal components 902 a, b also includes a R/W drive orinterface 918 to read from and write to one or more portablecomputer-readable tangible storage devices 920 such as a CD-ROM, DVD,memory stick, magnetic tape, magnetic disk, optical disk orsemiconductor storage device. A software program, such as the softwareprogram 108 and the graph-based knowledge recommendation program 110 aand 110 b can be stored on one or more of the respective portablecomputer-readable tangible storage devices 920, read via the respectiveR/W drive or interface 918, and loaded into the respective hard drive916.

Each set of internal components 902 a, b may also include networkadapters (or switch port cards) or interfaces 922 such as a TCP/IPadapter cards, wireless Wi-Fi interface cards, or 3G or 4G wirelessinterface cards or other wired or wireless communication links. Thesoftware program 108 and the graph-based knowledge recommendationprogram 110 a in client computer 102 and the graph-based knowledgerecommendation program 110 b in network server computer 112 can bedownloaded from an external computer (e.g., server) via a network (forexample, the Internet, a local area network or other, wide area network)and respective network adapters or interfaces 922. From the networkadapters (or switch port adaptors) or interfaces 922, the softwareprogram 108 and the graph-based knowledge recommendation program 110 ain client computer 102 and the graph-based knowledge recommendationprogram 110 b in network server computer 112 are loaded into therespective hard drive 916. The network may comprise copper wires,optical fibers, wireless transmission, routers, firewalls, switches,gateway computers and/or edge servers.

Each of the sets of external components 904 a, b can include a computerdisplay monitor 924, a keyboard 926, and a computer mouse 928. Externalcomponents 904 a, b can also include touch screens, virtual keyboards,touch pads, pointing devices, and other human interface devices. Each ofthe sets of internal components 902 a, b also includes device drivers930 to interface to computer display monitor 924, keyboard 926, andcomputer mouse 928. The device drivers 930, R/W drive or interface 918,and network adapter or interface 922 comprise hardware and software(stored in storage device 916 and/or ROM 910).

It is understood in advance that although this disclosure includes adetailed description on cloud computing, implementation of the teachingsrecited herein are not limited to a cloud computing environment. Rather,embodiments of the present invention are capable of being implemented inconjunction with any other type of computing environment now known orlater developed.

Cloud computing is a model of service delivery for enabling convenient,on-demand network access to a shared pool of configurable computingresources (e.g., networks, network bandwidth, servers, processing,memory, storage, applications, virtual machines, and services) that canbe rapidly provisioned and released with minimal management effort orinteraction with a provider of the service. This cloud model may includeat least five characteristics, at least three service models, and atleast four deployment models.

Characteristics are as follows:

On-demand self-service: a cloud consumer can unilaterally provisioncomputing capabilities, such as server time and network storage, asneeded automatically without requiring human interaction with theservice's provider.

Broad network access: capabilities are available over a network andaccessed through standard mechanisms that promote use by heterogeneousthin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

Resource pooling: the provider's computing resources are pooled to servemultiple consumers using a multi-tenant model, with different physicaland virtual resources dynamically assigned and reassigned according todemand. There is a sense of location independence in that the consumergenerally has no control or knowledge over the exact location of theprovided resources but may be able to specify location at a higher levelof abstraction (e.g., country, state, or datacenter).

Rapid elasticity: capabilities can be rapidly and elasticallyprovisioned, in some cases automatically, to quickly scale out andrapidly released to quickly scale in. To the consumer, the capabilitiesavailable for provisioning often appear to be unlimited and can bepurchased in any quantity at any time.

Measured service: cloud systems automatically control and optimizeresource use by leveraging a metering capability at some level ofabstraction appropriate to the type of service (e.g., storage,processing, bandwidth, and active user accounts). Resource usage can bemonitored, controlled, and reported providing transparency for both theprovider and consumer of the utilized service.

Service Models are as follows:

Software as a Service (SaaS): the capability provided to the consumer isto use the provider's applications running on a cloud infrastructure.The applications are accessible from various client devices through athin client interface such as a web browser (e.g., web-based e-mail).The consumer does not manage or control the underlying cloudinfrastructure including network, servers, operating systems, storage,or even individual application capabilities, with the possible exceptionof limited user-specific application configuration settings.

Platform as a Service (PaaS): the capability provided to the consumer isto deploy onto the cloud infrastructure consumer-created or acquiredapplications created using programming languages and tools supported bythe provider. The consumer does not manage or control the underlyingcloud infrastructure including networks, servers, operating systems, orstorage, but has control over the deployed applications and possiblyapplication hosting environment configurations.

Infrastructure as a Service (IaaS): the capability provided to theconsumer is to provision processing, storage, networks, and otherfundamental computing resources where the consumer is able to deploy andrun arbitrary software, which can include operating systems andapplications. The consumer does not manage or control the underlyingcloud infrastructure but has control over operating systems, storage,deployed applications, and possibly limited control of select networkingcomponents (e.g., host firewalls).

Deployment Models are as follows:

Private cloud: the cloud infrastructure is operated solely for anorganization. It may be managed by the organization or a third party andmay exist on-premises or off-premises.

Community cloud: the cloud infrastructure is shared by severalorganizations and supports a specific community that has shared concerns(e.g., mission, security requirements, policy, and complianceconsiderations). It may be managed by the organizations or a third partyand may exist on-premises or off-premises.

Public cloud: the cloud infrastructure is made available to the generalpublic or a large industry group and is owned by an organization sellingcloud services.

Hybrid cloud: the cloud infrastructure is a composition of two or moreclouds (private, community, or public) that remain unique entities butare bound together by standardized or proprietary technology thatenables data and application portability (e.g., cloud bursting forload-balancing between clouds).

A cloud computing environment is service oriented with a focus onstatelessness, low coupling, modularity, and semantic interoperability.At the heart of cloud computing is an infrastructure comprising anetwork of interconnected nodes.

Referring now to FIG. 8, illustrative cloud computing environment 1000is depicted. As shown, cloud computing environment 1000 comprises one ormore cloud computing nodes 100 with which local computing devices usedby cloud consumers, such as, for example, personal digital assistant(PDA) or cellular telephone 1000A, desktop computer 1000B, laptopcomputer 1000C, and/or automobile computer system 1000N may communicate.Nodes 100 may communicate with one another. They may be grouped (notshown) physically or virtually, in one or more networks, such asPrivate, Community, Public, or Hybrid clouds as described hereinabove,or a combination thereof. This allows cloud computing environment 1000to offer infrastructure, platforms and/or software as services for whicha cloud consumer does not need to maintain resources on a localcomputing device. It is understood that the types of computing devices1000A-N shown in FIG. 8 are intended to be illustrative only and thatcomputing nodes 100 and cloud computing environment 1000 can communicatewith any type of computerized device over any type of network and/ornetwork addressable connection (e.g., using a web browser).

Referring now to FIG. 9, a set of functional abstraction layers 1100provided by cloud computing environment 1000 is shown. It should beunderstood in advance that the components, layers, and functions shownin FIG. 9 are intended to be illustrative only and embodiments of theinvention are not limited thereto. As depicted, the following layers andcorresponding functions are provided:

Hardware and software layer 1102 includes hardware and softwarecomponents. Examples of hardware components include: mainframes 1104;RISC (Reduced Instruction Set Computer) architecture based servers 1106;servers 1108; blade servers 1110; storage devices 1112; and networks andnetworking components 1114. In some embodiments, software componentsinclude network application server software 1116 and database software1118.

Virtualization layer 1120 provides an abstraction layer from which thefollowing examples of virtual entities may be provided: virtual servers1122; virtual storage 1124; virtual networks 1126, including virtualprivate networks; virtual applications and operating systems 1128; andvirtual clients 1130.

In one example, management layer 1132 may provide the functionsdescribed below. Resource provisioning 1134 provides dynamic procurementof computing resources and other resources that are utilized to performtasks within the cloud computing environment. Metering and Pricing 1136provide cost tracking as resources are utilized within the cloudcomputing environment, and billing or invoicing for consumption of theseresources. In one example, these resources may comprise applicationsoftware licenses. Security provides identity verification for cloudconsumers and tasks, as well as protection for data and other resources.User portal 1138 provides access to the cloud computing environment forconsumers and system administrators. Service level management 1140provides cloud computing resource allocation and management such thatrequired service levels are met. Service Level Agreement (SLA) planningand fulfillment 1142 provide pre-arrangement for, and procurement of,cloud computing resources for which a future requirement is anticipatedin accordance with an SLA.

Workloads layer 1144 provides examples of functionality for which thecloud computing environment may be utilized. Examples of workloads andfunctions which may be provided from this layer include: mapping andnavigation 1146; software development and lifecycle management 1148;virtual classroom education delivery 1150; data analytics processing1152; transaction processing 1154; and graph-based knowledgerecommendation 1156. A graph-based knowledge recommendation program 110a, 110 b provides a way to recommend responses to emergent conditionsusing a functional and causal graph-based knowledge resource 206.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

What is claimed is:
 1. A method for recommending responses to emergentconditions, the method comprising: receiving a plurality of documentsfor a domain wherein the domain is related to a complex technicalsystem, wherein a determination is made that the domain is associatedwith a technical device, wherein a determination is made that thereceived query is a problem related to the technical device; extractingthe plurality of entities and the plurality of relations from thereceived plurality of documents, wherein a plurality of systemcomponents, a plurality of actions, a plurality of causal relations anda plurality of functional relations from the extracted plurality ofentities and the extracted plurality of relations are identified,wherein a connection is determined from the identified plurality ofsystem components, the identified plurality of actions, the identifiedplurality of causal relations and the identified plurality of functionalrelations in the absence of human intervention, wherein the determinedconnection includes at least one inference between the extractedplurality of entities and the extracted plurality of relations, whereina knowledge graph is generated from the determined connection of theidentified plurality of system components, the identified plurality ofactions, the identified plurality of causal relations and the identifiedplurality of functional relations, wherein the generated knowledge graphis stored in the graph-based knowledge resource to respond to a queryfrom a user; receiving the query from the user; retrieving, in realtime, a plurality of recommended responses for the received query from aplurality of entities and a plurality of relations stored in agraph-based knowledge resource, wherein the plurality of recommendedresponses for the received query are retrieved based on the retrievedplurality of entities and the retrieved plurality of relations stored inthe graph-based knowledge resource, wherein the user is queried for aplurality of additional relevant symptoms for the received query basedon the retrieved plurality of entities and the retrieved plurality ofrelations stored in the graph-based knowledge resource, wherein thequeried plurality of additional relevant symptoms from the user arereceived, wherein a plurality of additional relevant symptoms areidentified by utilizing the graph-based knowledge resource, wherein arecommended response from the graph-based knowledge resource isretrieved based on the identified plurality of additional relevantsymptoms, wherein the retrieved recommended response is presented to theuser; wherein the plurality of recommended responses for the receivedquery are retrieved from the retrieved plurality of entities and theretrieved plurality of relations stored in the graph-based knowledgeresource, wherein a determination is made that there are no additionalrelevant symptoms for the received query, wherein the retrievedplurality of recommended responses are presented to the user, whereinone recommended response for the received query is retrieved from theplurality of entities and the plurality of relations stored in thegraph-based knowledge resource, wherein the one recommended response ispresented to the user; and presenting the retrieved plurality ofrecommended responses to the user.